/**
 * 证书模板相关类型定义
 */

// 文本配置项接口
export interface TempTextConfig {
  /** 显示名称 */
  name: string;
  /** 字段名称 */
  fieldName: string;
  /** X坐标 */
  x: number;
  /** Y坐标 */
  y: number;
  /** 是否居中对齐 */
  alignCenter: boolean;
  /** 字体颜色 */
  fontColor: string;
  /** 是否加粗 */
  fontBold: boolean;
  /** 是否斜体 */
  fontItalic: boolean;
  /** 字体类型 */
  fontType: string;
  /** 字体大小 */
  fontSize: number;
  /** 是否激活 */
  isActive: boolean;
  /** 示例值 */
  exampleValue: string;
}

// 模板属性接口
export interface TemplateAttribute {
  /** 字段名称 */
  fieldName: string;
  /** 显示名称 */
  name: string;
  /** X坐标 */
  x: number;
  /** Y坐标 */
  y: number;
  /** 是否居中对齐 */
  alignCenter: boolean;
  /** 字体颜色 */
  fontColor: string;
  /** 是否加粗 */
  fontBold: boolean;
  /** 是否斜体 */
  fontItalic: boolean;
  /** 字体类型 */
  fontType: string;
  /** 字体大小 */
  fontSize: number;
  /** 是否激活 */
  isActive: boolean;
  /** 示例值 */
  exampleValue: string;
}

// 表单数据接口
export interface CertificateTemplateFormData {
  /** 模板ID */
  id: string;
  /** 认证ID */
  certificationId: string;
  /** 模板文件路径 */
  templateFile: string;
  /** 文本配置数组 */
  tempTextConfigs: TempTextConfig[];
}

// 证书模板完整数据接口
export interface CertificateTemplate {
  /** 模板ID */
  id: string;
  /** 模板名称 */
  name: string;
  /** 证书类型 */
  type: number;
  /** 证书状态 */
  status: number;
  /** 认证ID */
  certificationId: string;
  /** 模板文件路径 */
  templateFile: string;
  /** 模板描述 */
  description?: string;
  /** 文本配置数组 */
  tempTextConfigs?: TempTextConfig[];
  /** 创建时间 */
  createTime?: string;
  /** 更新时间 */
  updateTime?: string;
}

// 查询参数接口
export interface CertificateTemplateQueryParams {
  /** 模板名称 */
  name?: string;
  /** 证书类型 */
  type?: number;
  /** 开始时间 */
  startTime?: string;
  /** 结束时间 */
  endTime?: string;
  /** 当前页码 */
  curPage: number;
  /** 每页大小 */
  pageSize: number;
}

// API响应数据接口
export interface CertificateTemplateResponse {
  /** 数据列表 */
  data: CertificateTemplate[];
  /** 分页信息 */
  pageInfo: {
    /** 总行数 */
    totalRows: number;
    /** 当前页码 */
    curPage: number;
    /** 每页大小 */
    pageSize: number;
  };
} 
